#ifndef CERCLE_H
#define CERCLE_H

#include <cmath>
#include <vector>
#include "point.h"
#include "ligne.h"

using namespace std;
//
// Definition de la classe Cercle (entetes)
//

class Cercle
{

    vector<Ligne> cercle_ligne;
    int  rayon;
    Point centre;
  
  public:
    
    // constructeurs
    Cercle(int, Point);
    Cercle();
  
    // pour re-initialisation
    void init(int , Point);


  
    // fonction pour la mise au Point
    //void afficher(void);
    void afficher(Canevas &);
  
    // fonction pour deplacer un Point en absolu.  Les parametres sont des
    // deplacement par rapport a la position courante.
    void deplacement(int deltaX, int deltaY);
  
    // fonction pour deplacer un Point proportionnellement a un centre.  
    // Les parametres sont le Point de reference un la proportion du deplacement
    void deplacementProp(Point ancre, float proportion);

    Point val_Centre();
    int val_Rayon();

  private:
    void genere_ligne();
   
};
#endif
